home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PWAPG10.ZIP / 474.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-08-16  |  3KB  |  298 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     String   STRING001
  21.     String   STRING002
  22.     String   STRING003
  23.     String   STRING004
  24.     String   STRING005
  25.     String   STRING006
  26.     String   STRING007
  27.     String   STRING008
  28.     String   STRING009
  29.     String   STRING010
  30.     String   STRING011
  31.     String   STRING012
  32.     Byte     BYTE001
  33.     Byte     BYTE002
  34.     Byte     BYTE003
  35.     Byte     BYTE004
  36.     Byte     BYTE005
  37.     Byte     BYTE006
  38.     Byte     BYTE007
  39.  
  40. ;------------------------------------------------------------------------------
  41.  
  42.     Gosub LABEL008
  43.     Gosub LABEL001
  44.     End
  45.     :LABEL001
  46.     Gosub LABEL004
  47.     BYTE007 = 5
  48.     Gosub LABEL006
  49.     BOOLEAN001 = 0
  50.     While (BOOLEAN001 == 0) Do
  51.         STRING012 = Asc(Inkey())
  52.         If (STRING012 == 13) Then
  53.             Gosub LABEL005
  54.             Continue
  55.         Endif
  56.         If ((STRING012 == 76) || (STRING012 == 44)) Then
  57.             Gosub LABEL007
  58.             Dec BYTE007
  59.             If (BYTE007 < 1) BYTE007 = 5
  60.             Gosub LABEL006
  61.             Continue
  62.         Endif
  63.         If ((STRING012 == 82) || (STRING012 == 46)) Then
  64.             Gosub LABEL007
  65.             Inc BYTE007
  66.             If (BYTE007 > 5) BYTE007 = 1
  67.             Gosub LABEL006
  68.             Continue
  69.         Endif
  70.         If ((STRING012 == 72) || (STRING012 == 104)) Then
  71.             Gosub LABEL007
  72.             BYTE007 = 1
  73.             Gosub LABEL003
  74.             Continue
  75.         Endif
  76.         If ((STRING012 == 71) || (STRING012 == 103)) Then
  77.             Gosub LABEL007
  78.             BYTE007 = 2
  79.             Gosub LABEL006
  80.             BOOLEAN001 = 1
  81.             Continue
  82.         Endif
  83.         If ((STRING012 == 65) || (STRING012 == 97)) Then
  84.             Gosub LABEL007
  85.             BYTE007 = 3
  86.             Gosub LABEL006
  87.             BOOLEAN001 = 1
  88.             Continue
  89.         Endif
  90.         If ((STRING012 == 80) || (STRING012 == 112)) Then
  91.             Gosub LABEL007
  92.             BYTE007 = 4
  93.             Gosub LABEL006
  94.             Delay 5
  95.             If (Exist(STRING011)) Then
  96.                 Call STRING011
  97.                 Gosub LABEL004
  98.                 Gosub LABEL006
  99.                 Goto LABEL002
  100.             Endif
  101.             BOOLEAN001 = 1
  102.             :LABEL002
  103.             Continue
  104.         Endif
  105.         If ((STRING012 == 67) || (STRING012 == 99)) Then
  106.             Gosub LABEL007
  107.             BYTE007 = 5
  108.             Gosub LABEL006
  109.             BOOLEAN001 = 1
  110.             Continue
  111.         Endif
  112.         If (STRING012 == 27) Then
  113.             Gosub LABEL007
  114.             BYTE007 = 3
  115.             Gosub LABEL006
  116.             BOOLEAN001 = 1
  117.         Endif
  118.     EndWhile
  119.     Gosub LABEL005
  120.     Return
  121.     :LABEL003
  122.     Newline
  123.     If (Exist(PPEPath() + "474HELP.PCB")) Then
  124.         DispFile PPEPath() + "474HELP.PCB", 0
  125.     Else
  126.         PrintLn "@X0CSorry, no help is available."
  127.     Endif
  128.     Gosub LABEL004
  129.     Gosub LABEL006
  130.     Return
  131.     :LABEL004
  132.     Print ReadLine(PPEPath() + "474.CFG", 1)
  133.     BYTE001 = GetY()
  134.     BYTE002 = GetX()
  135.     Print STRING001 + "  "
  136.     BYTE003 = GetX()
  137.     Print STRING002 + "  "
  138.     BYTE004 = GetX()
  139.     Print STRING003 + "  "
  140.     BYTE005 = GetX()
  141.     Print STRING004 + "  "
  142.     BYTE006 = GetX()
  143.     Print STRING005
  144.     Return
  145.     :LABEL005
  146.     Select Case (BYTE007)
  147.         Case 1
  148.             Gosub LABEL003
  149.         Case 2
  150.             Newline
  151.             KbdStuff "G"
  152.             End
  153.         Case 3
  154.             Newline
  155.             KbdStuff "A"
  156.             End
  157.         Case 4
  158.             If (Exist(STRING011)) Then
  159.                 Call STRING011
  160.                 Gosub LABEL004
  161.                 Gosub LABEL006
  162.             Else
  163.                 Newline
  164.                 KbdStuff "P"
  165.                 End
  166.             Endif
  167.         Case 5
  168.             Newline
  169.             KbdStuff Chr(13)
  170.             End
  171.     End Select
  172.     Return
  173.     :LABEL006
  174.     Select Case (BYTE007)
  175.         Case 1
  176.             Print Chr(13)
  177.             Forward BYTE002 - 1
  178.             Print STRING006
  179.         Case 2
  180.             Print Chr(13)
  181.             Forward BYTE003 - 1
  182.             Print STRING007
  183.         Case 3
  184.             Print Chr(13)
  185.             Forward BYTE004 - 1
  186.             Print STRING008
  187.         Case 4
  188.             Print Chr(13)
  189.             Forward BYTE005 - 1
  190.             Print STRING009
  191.         Case 5
  192.             Print Chr(13)
  193.             Forward BYTE006 - 1
  194.             Print STRING010
  195.     End Select
  196.     Return
  197.     :LABEL007
  198.     Select Case (BYTE007)
  199.         Case 1
  200.             Print Chr(13)
  201.             Forward BYTE002 - 1
  202.             Print STRING001
  203.         Case 2
  204.             Print Chr(13)
  205.             Forward BYTE003 - 1
  206.             Print STRING002
  207.         Case 3
  208.             Print Chr(13)
  209.             Forward BYTE004 - 1
  210.             Print STRING003
  211.         Case 4
  212.             Print Chr(13)
  213.             Forward BYTE005 - 1
  214.             Print STRING004
  215.         Case 5
  216.             Print Chr(13)
  217.             Forward BYTE006 - 1
  218.             Print STRING005
  219.     End Select
  220.     Return
  221.     :LABEL008
  222.     STRING011 = ReadLine(PPEPath() + "474.CFG", 2)
  223.     STRING001 = ReadLine(PPEPath() + "474.CFG", 3)
  224.     STRING002 = ReadLine(PPEPath() + "474.CFG", 4)
  225.     STRING003 = ReadLine(PPEPath() + "474.CFG", 5)
  226.     STRING004 = ReadLine(PPEPath() + "474.CFG", 6)
  227.     STRING005 = ReadLine(PPEPath() + "474.CFG", 7)
  228.     STRING006 = ReadLine(PPEPath() + "474.CFG", 8)
  229.     STRING007 = ReadLine(PPEPath() + "474.CFG", 9)
  230.     STRING008 = ReadLine(PPEPath() + "474.CFG", 10)
  231.     STRING009 = ReadLine(PPEPath() + "474.CFG", 11)
  232.     STRING010 = ReadLine(PPEPath() + "474.CFG", 12)
  233.     Return
  234.  
  235. ;------------------------------------------------------------------------------
  236. ;
  237. ; Usage report (before postprocessing)
  238. ;
  239. ; ■ Statements used :
  240. ;
  241. ;    5       End
  242. ;    52      Goto 
  243. ;    33      Let 
  244. ;    26      Print 
  245. ;    1       PrintLn 
  246. ;    30      If 
  247. ;    1       DispFile 
  248. ;    29      Gosub 
  249. ;    7       Return
  250. ;    1       Delay 
  251. ;    1       Inc 
  252. ;    1       Dec 
  253. ;    5       Newline
  254. ;    4       KbdStuff 
  255. ;    2       Call 
  256. ;    10      Forward 
  257. ;
  258. ;
  259. ; ■ Functions used :
  260. ;
  261. ;    18      +
  262. ;    10      -
  263. ;    32      ==
  264. ;    1       <
  265. ;    1       >
  266. ;    28      !
  267. ;    7       ||
  268. ;    11      Chr()
  269. ;    1       Asc()
  270. ;    1       Inkey()
  271. ;    14      PPEPath()
  272. ;    12      ReadLine()
  273. ;    3       Exist()
  274. ;    5       GetX()
  275. ;    1       GetY()
  276. ;
  277. ;------------------------------------------------------------------------------
  278. ;
  279. ; Analysis flags : C
  280. ;
  281. ; C - Call child PPE ■ 3
  282. ;     This is usually normal, but may be a tricky way to launch some
  283. ;     sysop-only commands.
  284. ;     ■ Search for : CALL
  285. ;
  286. ;------------------------------------------------------------------------------
  287. ;
  288. ; Postprocessing report
  289. ;
  290. ;    0       For/Next
  291. ;    1       While/EndWhile
  292. ;    12      If/Then or If/Then/Else
  293. ;    3       Select Case
  294. ;
  295. ;------------------------------------------------------------------------------
  296. ;                 AEGiS Corp - Break the routines, code against the machines!
  297. ;------------------------------------------------------------------------------
  298.